export function dataToArray(vars) {
    if (Array.isArray(vars)) {
      return vars;
    }
    return [vars];
  }
  const transitionEndObject = {
    MozTransition: 'transitionend',
    OTransition: 'oTransitionEnd otransitionend',
    WebkitTransition: 'webkitTransitionEnd',
    transition: 'transitionend',
  };
  export const transitionStr = Object.keys(transitionEndObject).filter(key => {
    if (typeof document === 'undefined') {
      return false;
    }
    const html = document.getElementsByTagName('html')[0];
    return key in (html ? html.style : {});
  })[0];
  export const transitionEnd = transitionEndObject[transitionStr];
  
  export function addEventListener(target, eventType, callback, options) {
    if (target.addEventListener) {
      target.addEventListener(eventType, callback, options);
    } else if (target.attachEvent) {
      target.attachEvent(`on${eventType}`, callback);
    }
  }
  
  export function removeEventListener(target, eventType, callback, options) {
    if (target.removeEventListener) {
      target.removeEventListener(eventType, callback, options);
    } else if (target.attachEvent) {
      target.detachEvent(`on${eventType}`, callback);
    }
  }
  
  export function transformArguments(arg, cb) {
    let result;
    if (typeof arg === 'function') {
      result = arg(cb);
    } else {
      result = arg;
    }
    if (Array.isArray(result)) {
      if (result.length === 2) {
        return result;
      }
      return [result[0], result[1]];
    }
    return [result];
  }
  
  export const isNumeric = (value) => {
    return !isNaN(parseFloat(value)) && isFinite(value);// eslint-disable-line
  };